﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using DevComponents.DotNetBar;

namespace Quan_Ly_Dai_Ly
{
    public partial class PhieuThuTien : Office2007Form
    {
        public PhieuThuTien()
        {
            InitializeComponent();
        }

        private void PhieuThuTien_Activated(object sender, EventArgs e)
        {
            bt_DongY.Enabled = false;
            try
            {
                MainForm.Connect.Open();
                DataTable dt = new DataTable();
                SqlDataAdapter da = new SqlDataAdapter("select * from DAILY order by CAST(TenDaiLy as nvarchar(200)) asc", MainForm.Connect);
                da.Fill(dt);
                MainForm.Connect.Close();
                cb_Ten.DataSource = dt;
                cb_Ten.DisplayMember = "TenDaiLy";
                cb_Ten.ValueMember = "MaDaiLy";
                tb_DiaChi.DataBindings.Clear();
                tb_DiaChi.DataBindings.Add("Text", dt, "DiaChi");
                tb_DienThoai.DataBindings.Clear();
                tb_DienThoai.DataBindings.Add("Text", dt, "DienThoai");
                tb_Email.DataBindings.Clear();
                tb_Email.DataBindings.Add("Text", dt, "Email");
                tb_TienNo.DataBindings.Clear();
                tb_TienNo.DataBindings.Add("Text", dt, "TienNo");
                d_NgayThu.Value = DateTime.Now;
            }
            catch (SqlException sqlEx)
            {
                MainForm.Connect.Close();
                MessageBoxEx.Show("Lỗi kết nối cơ sở dữ liệu!\n" + sqlEx.Message, "Thông Báo");
            }
        }

        private void buttonX2_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void tb_TienThu_TextChanged(object sender, EventArgs e)
        {
            if (tb_TienThu.Text.Length > 0)
                bt_DongY.Enabled = true;
            else
                bt_DongY.Enabled = false;
        }

        private void bt_DongY_Click(object sender, EventArgs e)
        {

            DateTime t = DateTime.ParseExact(d_NgayThu.Text, "dd/MM/yyyy", null);
            int result = MainForm.ExecProcedure("sp_ThemPhieuThuTien",
                                                new string[]{"@MaDaiLy", "@SoTienThu", "@NgayThu"},
                                                new object[]{cb_Ten.SelectedValue, tb_TienThu.Text, t});
            
            if (result == 1)
                MessageBoxEx.Show("Lập phiếu thu tiền không thành công.\nSố tiền thu phải khác 0.", "Thông Báo");
            else
                if (result == 2)
                    MessageBoxEx.Show("Lập phiếu thu tiền không thành công.\nSố tiền thu vượt quá số tiền đại lý đang nợ.", "Thông Báo");
                else
                    if (result == 3)
                        MessageBoxEx.Show("Lập phiếu thu tiền không thành công.\nNgày thu tiền trước ngày tiếp nhận đại lý.", "Thông Báo");
                    else
                        if (result == 0)
                        {
                            MessageBoxEx.Show("Lập phiếu thu tiền thành công.", "Thông Báo");

                            DialogResult kq = MessageBox.Show("Bạn có muốn in hóa đơn này ra không!", "Thông báo!", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, false);
                            if (kq == DialogResult.Yes)
                            {
                                ReportPhieuThuTien frm = new ReportPhieuThuTien();
                                
                                string sql = "select * from PhieuThuTien";
                                DataTable dt = SQLHelper.ExecuteQuery(sql);
                                if (dt.Rows.Count > 0)
                                {
                                    frm.MaPTT = dt.Rows[dt.Rows.Count-1]["MaPTT"].ToString();
                                }
                                frm.Show();
                            }
                        }
            d_NgayThu.Value = DateTime.Now;
            tb_TienThu.ResetText();
        }

        private void tb_TienThu_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }

        private void tb_TienNo_TextChanged(object sender, EventArgs e)
        {
            if (tb_TienNo.Text.Contains('.'))
                tb_TienNo.Text = tb_TienNo.Text.Substring(0, tb_TienNo.Text.Length - 5);
        }

    }
}
